const STS = require('qcloud-cos-sts/sdk/sts')
exports.main = async function() {
  var config = {
    secretId: 'AKIDV0FEyThfNoyqTosfCSR9bmgJfkY5LK2T',   // 固定密钥
    secretKey: 'B6k7D2arra3FAoBH5cssbV8VbQxEFzSd',  // 固定密钥
    proxy: '',
    host: 'sts.tencentcloudapi.com', // 域名，非必须，默认为 sts.tencentcloudapi.com
    durationSeconds: 1800,  // 密钥有效期
    // 放行判断相关参数
    bucket: 'huayu-1306391227', // 换成你的 bucket
    region: 'ap-beijing', // 换成 bucket 所在地区
    allowPrefix: '*' // 这里改成允许的路径前缀，可以根据自己网站的用户登录态判断允许上传的具体路径，例子： a.jpg 或者 a/* 或者 * (使用通配符*存在重大安全风险, 请谨慎评估使用)
  }
  var scope = [{
    action: 'name/cos:PutObject',
    bucket: config.bucket,
    region: config.region,
    prefix: 'exampleobject'
  }]
  var policy = STS.getPolicy(scope)
  STS.getCredential({
    secretId: config.secretId,
    secretKey: config.secretKey,
    proxy: config.proxy,
    policy: policy,
    durationSeconds: config.durationSeconds
  }, function (err, credential) {
    console.log('getPolicy,getCredential:')
    console.log(JSON.stringify(policy, null, '    '))
    console.log(err || credential)
  })
  return config
}
